package com.crm.DTO;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 线索查询参数DTO
 * 用于封装线索列表查询的各种筛选条件和分页参数
 */
@Data
public class ClueQueryDTO {

    /**
     * 当前页码，默认为第1页
     */
    private Integer pageNum ;

    /**
     * 每页显示记录数，默认为10条
     */
    private Integer pageSize ;

    /**
     * 线索ID，用于精确查询特定线索
     */
    private Long id;

    /**
     * 联系电话，用于按电话号码模糊查询
     */
    private String phone;

    /**
     * 负责人，用于按负责人模糊查询
     */
    private String owner;

    /**
     * 线索状态，用于按线索状态筛选
     */
    private String status;

    /**
     * 渠道来源，用于按获取线索的渠道筛选
     */
    private Integer channel;

    /**
     * 创建时间起始时间，用于筛选该时间之后创建的线索
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime beginCreateTime;

    /**
     * 创建时间结束时间，用于筛选该时间之前创建的线索
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endCreateTime;

}
